gtk4.git
10 years agoGtkNotebook: Unify two private variables
Carlos Garnacho [Wed, 20 Jan 2016 18:52:01 +0000 (19:52 +0100)]
GtkNotebook: Unify two private variables

Button state was being kept in two separate variables, which lead
to slight confusions in DnD that caused the notebook to ignore the
first click after DnD happened from (within) it. Unify these two
into one, which helps us keep better track of the really pressed
buttons.

10 years agocontainer: Don't create too-large clips
Matthias Clasen [Wed, 20 Jan 2016 18:42:45 +0000 (13:42 -0500)]
container: Don't create too-large clips

gdk_rectangle_union will happily add all the worlds pixels
to the union if the initial rectangle is initialized to all
zeros. Therefore, explicitly check for an empty rectangle
before calling it.

10 years agoClarify docs for gdk_rectangle_union
Matthias Clasen [Wed, 20 Jan 2016 18:12:13 +0000 (13:12 -0500)]
Clarify docs for gdk_rectangle_union

This function does not ignore empty rectangles. Since this
is a fairly subtle point about the behavior, it is worth
spelling this out in the documentation. We've had a bug
open about this for a long time:

https://bugzilla.gnome.org/show_bug.cgi?id=464528

10 years agowayland: Protect against NULL offers on gdk_drag_status() implementation
Carlos Garnacho [Wed, 20 Jan 2016 17:55:51 +0000 (18:55 +0100)]
wayland: Protect against NULL offers on gdk_drag_status() implementation

If we're called untimely, we might end up crashing here when poking the
NULL wl_data_offer.

10 years agogtkdnd: Disconnect GdkDragContext signals on gtk_drag_source_info_free()
Carlos Garnacho [Wed, 20 Jan 2016 17:53:03 +0000 (18:53 +0100)]
gtkdnd: Disconnect GdkDragContext signals on gtk_drag_source_info_free()

Otherwise it may still be tricked into emitting further signals at a
time we've already destroyed the GtkDragSourceInfo passed as callback
user data.

10 years agonotebook: Get rid of during_reorder variable
Benjamin Otte [Wed, 20 Jan 2016 16:37:04 +0000 (17:37 +0100)]
notebook: Get rid of during_reorder variable

Use operation == OPERATION_REORDER instead.

10 years agonotebook: Properly hide drag window
Benjamin Otte [Wed, 20 Jan 2016 16:20:03 +0000 (17:20 +0100)]
notebook: Properly hide drag window

Move code to properly reinsert the tab label to where it belongs.
The if has the distinction between reparented-to-dnd-window and
just-changed-the-gdk-window-to-draw-to right there.

https://bugzilla.gnome.org/show_bug.cgi?id=760754

10 years agonotebook: Get rid of during_detach member
Benjamin Otte [Wed, 20 Jan 2016 15:45:40 +0000 (16:45 +0100)]
notebook: Get rid of during_detach member

use operation == OPERATION_DETACH instead.

10 years agoAdd a function to get affected area for background
Matthias Clasen [Wed, 20 Jan 2016 14:41:01 +0000 (09:41 -0500)]
Add a function to get affected area for background

The new function, gtk_render_background_get_clip answers the
question: what pixels are affected if I call gtk_render_background ?

The long-term goal is to have APIs that answer this question for
all rendering primitives.

10 years agofile chooser: Allow saving even if executable attribute is not set
Ondrej Holy [Wed, 20 Jan 2016 10:36:12 +0000 (11:36 +0100)]
file chooser: Allow saving even if executable attribute is not set

Commit 8e975b2 (Bug 753969) introduced check of parent accessibility.
Consequently it is not possible to save file if executable attribute
is not set, which might happen for some gvfs backends. Let's assume
that the folder is accessible even if the attribute is not set.

https://bugzilla.gnome.org/show_bug.cgi?id=760881

10 years agoconfigure: Require wayland >= 1.9.91
Kalev Lember [Wed, 20 Jan 2016 12:00:10 +0000 (13:00 +0100)]
configure: Require wayland >= 1.9.91

Needed since commit 1045dda0358dee67e8dfbf13b40181b4c2ba1f1c

10 years agoviewport: Don't destroy pixelcache while it's still used
Benjamin Otte [Wed, 20 Jan 2016 04:09:25 +0000 (05:09 +0100)]
viewport: Don't destroy pixelcache while it's still used

Removing the child unsets the pxielcache's style context...

10 years agogtk-demo: Fix font features sources
Matthias Clasen [Wed, 20 Jan 2016 03:45:37 +0000 (22:45 -0500)]
gtk-demo: Fix font features sources

The resources had the prefix, causing the ui file not
to show up.

10 years agoviewport: Set the pixel cache background from the child
Benjamin Otte [Wed, 20 Jan 2016 03:35:04 +0000 (04:35 +0100)]
viewport: Set the pixel cache background from the child

The viewport itself doesn't move, so we cannot use it as the pixel
cache's background. Use the bottommost using element instead, which is
the viewport's child.

This might need adaptations in themes as we want the backgroud to be
opaque to speed up pixel cache performance.

10 years agonotebook: Implement rtl flipping for CSS nodes
Matthias Clasen [Wed, 20 Jan 2016 02:38:30 +0000 (21:38 -0500)]
notebook: Implement rtl flipping for CSS nodes

Use gtk_box_gadget_reverse_children and gtk_css_node_reverse_children
to flip the children of the header_gadget and the tabs_gadget when
appropriate.

Add new CSS node tests to verify that the node order is updated
as expected in all cases.

10 years agocss: AFFFECTS_TEXT causes a resize, not a redraw
Benjamin Otte [Wed, 20 Jan 2016 01:37:45 +0000 (02:37 +0100)]
css: AFFFECTS_TEXT causes a resize, not a redraw

And we schedule the resize conditionally only when text is rendered but
don't do that check for the redraw.

10 years agowidget: Properly invalidate when CSS font properties change.
Benjamin Otte [Wed, 20 Jan 2016 01:17:32 +0000 (02:17 +0100)]
widget: Properly invalidate when CSS font properties change.

10 years agoUpdated POTFILES.in and POTFILES.skip
Piotr Drąg [Wed, 20 Jan 2016 00:43:38 +0000 (01:43 +0100)]
Updated POTFILES.in and POTFILES.skip

10 years ago3.19.7
Matthias Clasen [Tue, 19 Jan 2016 13:16:11 +0000 (08:16 -0500)]
3.19.7

10 years agoUpdate expected output of a11y tests
Matthias Clasen [Tue, 19 Jan 2016 14:18:33 +0000 (09:18 -0500)]
Update expected output of a11y tests

This reflects my recent change to messagedialog titles.

10 years agoSimplify foreign drawing example
Matthias Clasen [Tue, 19 Jan 2016 11:28:55 +0000 (06:28 -0500)]
Simplify foreign drawing example

This is code will be copied, so take out unnecessary complication.

10 years agoUse actual drop status
Matthias Clasen [Tue, 19 Jan 2016 12:13:57 +0000 (07:13 -0500)]
Use actual drop status

We have this information in the XDND protocol, so we don't have
to blindly assume that the drop succeeded.

10 years agogdk: Document the functions that don't need calling on managed DnD
Carlos Garnacho [Mon, 18 Jan 2016 21:22:24 +0000 (22:22 +0100)]
gdk: Document the functions that don't need calling on managed DnD

These functions will be automatically called by the windowing backend.
The usual hooks to run this from in gtk/ shouldn't even happen, but
it is worth to document which calls are expected and which aren't.

10 years agowayland: Set weak reference on the current grab window
Carlos Garnacho [Mon, 18 Jan 2016 13:05:00 +0000 (14:05 +0100)]
wayland: Set weak reference on the current grab window

If the grab window is destroyed the grab will be implicitly removed,
although we won't get GdkSeat:ungrab called in order to clear our
internal window<->seat relation entirely. Setting a weak ref will
nullify the pointer we keep on the seat to the window, avoiding the
expected crashes.

10 years agowayland: Unset button modifiers on pointer enter
Carlos Garnacho [Mon, 18 Jan 2016 12:31:35 +0000 (13:31 +0100)]
wayland: Unset button modifiers on pointer enter

Due to implicit grabs, we basically can guarantee that the pointer
won't have any buttons pressed at the time of wl_pointer.enter.
Seems like a good place to unset any button modifiers that might
have been left stale by compositor grabs.

10 years agowayland: Implement DnD actions as per wl_data_device v3
Carlos Garnacho [Wed, 13 Jan 2016 20:00:34 +0000 (21:00 +0100)]
wayland: Implement DnD actions as per wl_data_device v3

Implement as a managed GdkDragContext, which actually fits nicely
with the drag-and-drop model in wayland.

10 years agowayland: Add internal gdk_wayland_seat_set_global_cursor()
Carlos Garnacho [Wed, 13 Jan 2016 19:57:47 +0000 (20:57 +0100)]
wayland: Add internal gdk_wayland_seat_set_global_cursor()

This can be used for cases (like DnD) where there isn't necessarily
a grab, but we want a global pointer cursor.

10 years agogtkdnd: Reset widget controllers when starting DnD.
Carlos Garnacho [Wed, 13 Jan 2016 19:54:43 +0000 (20:54 +0100)]
gtkdnd: Reset widget controllers when starting DnD.

Otherwise there's no full guarantees that this will happen.

10 years agogtk: Add private gtk_widget_reset_controllers()
Carlos Garnacho [Wed, 13 Jan 2016 19:53:54 +0000 (20:53 +0100)]
gtk: Add private gtk_widget_reset_controllers()

This is a one-shot call that can be called on the places we
know we're taking input away.

10 years agogtkdnd: Optionally use gdk_drag_context_manage_dnd()
Carlos Garnacho [Fri, 8 Jan 2016 20:31:51 +0000 (21:31 +0100)]
gtkdnd: Optionally use gdk_drag_context_manage_dnd()

When this is in use, there's essentially a bunch of dead code here.
When all backends are ported, we'll be able to remove grab/cursor
management plus a bunch of source-side event handlers.

10 years agox11: Implement gdk_drag_context_manage_dnd()
Carlos Garnacho [Fri, 8 Jan 2016 20:24:52 +0000 (21:24 +0100)]
x11: Implement gdk_drag_context_manage_dnd()

This includes managing input events and source-side DND events,
as well as setting the appropriate cursor and emitting the signals
that are expected in this mode of operation.

10 years agogdk: Add gdk_drag_get_cursor()
Carlos Garnacho [Wed, 13 Jan 2016 19:51:19 +0000 (20:51 +0100)]
gdk: Add gdk_drag_get_cursor()

This function (most similar to gtk_drag_get_cursor() helps figure out
the right cursor that applies to a given action. To be used by the
various backends.

10 years agogdk: Run DnD internal handlers before the main event handler
Carlos Garnacho [Fri, 8 Jan 2016 20:22:47 +0000 (21:22 +0100)]
gdk: Run DnD internal handlers before the main event handler

We'll be stealing those to GTK+, if the GdkDragContext manages
the DnD operation.

10 years agogdk: Allow internal management of source-side DnD
Carlos Garnacho [Fri, 8 Jan 2016 20:03:01 +0000 (21:03 +0100)]
gdk: Allow internal management of source-side DnD

We've traditionally left GTK+ to handle the input side of things,
letting GDK only manage the windowing-specific messaging. This
way of splitting responsibilities is not compatible however with
some backends, we must fold then input management at the DnD stage
into GDK (and backends) domain.

The gdk_drag_context_manage_dnd() call is meant to be the entry
point for this mode of operation, if the drag and drop operation
becomes managed, the caller (i.e. gtkdnd.c) doesn't need to perform
grabs, nor manage input events itself.

As a consequence of this, different aspects now belong to the
backend GdkDragContext implementation:
- Because the caller doesn't see keyboard events anymore,
  keyboard navigation must be managed in GDK, so is the decision
  of the current action based on modifiers/button pressed.
- Because the caller won't see input events in general, the lifetime
  of the drag and drop operation is now communicated through the
  ::drop-performed, ::dnd-finished and ::cancel events
- Because the caller doesn't participate anymore on the action
  being chosen, the pointer cursor must be set by the backend.
  The caller is rather notified of the final action through the
  ::action signal.

The caller is still responsible of dealing with the corresponding
GdkSelection, ensuring its ownership and communicating the supported
mimetypes.

10 years agowidget: Call gdk_window_mark_paint_from_clip() again
Benjamin Otte [Tue, 19 Jan 2016 13:11:36 +0000 (14:11 +0100)]
widget: Call gdk_window_mark_paint_from_clip() again

The proper window to call it is the event window, as the call itself
ignores non-native windows anyway.

10 years agoFixed typo childen->children
Marek Černocký [Tue, 19 Jan 2016 11:52:58 +0000 (12:52 +0100)]
Fixed typo childen->children

10 years agogtk-demo: Add a progress bar to foreigndrawing
Matthias Clasen [Tue, 19 Jan 2016 04:40:38 +0000 (23:40 -0500)]
gtk-demo: Add a progress bar to foreigndrawing

This is another commonly requested widget.

10 years agocontainer: Properly reorder no-window children
Benjamin Otte [Tue, 19 Jan 2016 03:33:09 +0000 (04:33 +0100)]
container: Properly reorder no-window children

... that are setup with gtk_widget_set_parent_window().

Fixes scrollbars not being drawn in GtkScrolledWindow.

10 years agowidget: Add forgotten push_group code
Benjamin Otte [Tue, 19 Jan 2016 03:24:32 +0000 (04:24 +0100)]
widget: Add forgotten push_group code

... and remove the also forgotten void function that lingered around
with it.

Fixes opacity=0 parts like inactive spinners or sort indicators in
treeview headers being drawn since last commit.

Oops.

10 years agowidget: Redo drawing code
Benjamin Otte [Tue, 19 Jan 2016 01:42:58 +0000 (02:42 +0100)]
widget: Redo drawing code

Previously, we had a special cae to draw subwindows of widgets.

This is not necessary as conformant widgets should be able to properly
render themselves when all windows need to be painted.
From now on assume that is the case.

We therefore paint nonnative GDK windows "inline" by just returning TRUE
for gtk_cairo_should_draw_window() for those windows.

This speeds up hilighting different rows in the listbox gtk-demo example
tremendously (by a factor of 10 or more) as the previous code was
O(<number of non-window subwidgets> *
<number of subwindows>) which in the listbox example were ~15,000 and
~2,000 respectively.

10 years agoactionbar: Don't forall() widgets twice
Benjamin Otte [Mon, 18 Jan 2016 23:53:55 +0000 (00:53 +0100)]
actionbar: Don't forall() widgets twice

When using forall(), only list the revealer, which lists the box
containing all the children. When using foreach(), bypass revealer and
box and list all children added to the box.

10 years agoUpdates
Matthias Clasen [Tue, 19 Jan 2016 01:20:32 +0000 (20:20 -0500)]
Updates

10 years agotext view: Expose cursor blink control
Matthias Clasen [Mon, 18 Jan 2016 19:54:25 +0000 (14:54 -0500)]
text view: Expose cursor blink control

Derived classes like GtkSourceView with their own ::key-event
handler need access to this, in order to make their keynav
as nice as the builtin one, wrt to caret visibility.

https://bugzilla.gnome.org/show_bug.cgi?id=760748

10 years agox11: Set event->scroll.is_stop
Carlos Garnacho [Thu, 14 Jan 2016 19:24:28 +0000 (20:24 +0100)]
x11: Set event->scroll.is_stop

We still figure this out from 0/0 scroll events. This method is
not intended to last forever, but it's something we can cling to
so far.

https://bugzilla.gnome.org/show_bug.cgi?id=756729

10 years agowayland: add gdk_event_is_scroll_stop_event()
Peter Hutterer [Wed, 21 Oct 2015 00:14:40 +0000 (10:14 +1000)]
wayland: add gdk_event_is_scroll_stop_event()

And use it to handle kinetic scrolling in the GtkScrolledWindow.

However, dropping the delta check causes the X11-based kinetic
scroll to break since we don't have the stop event here. Correct handling of
xf86-input-libinput-based scroll events is still being discussed.

https://bugzilla.gnome.org/show_bug.cgi?id=756729

10 years agowayland: add support for wl_pointer frame/axis_source/axis_discrete/axis_stop
Peter Hutterer [Tue, 20 Oct 2015 03:21:54 +0000 (13:21 +1000)]
wayland: add support for wl_pointer frame/axis_source/axis_discrete/axis_stop

This adds support for the new wl_pointer events available in v5.

The wl_pointer.axis_source events can be ignored for the purposes here, the
main reason they exist is so that the combination of axis_source=finger and
axis_stop triggers kinetic scrolling. We don't need to care about the source,
axis_stop is enough for us to tell us when we're scrolling.

The wl_pointer.frame events group events together and is intended as a
mechanism to coalesce events together. This for example allows us to now
send a single GTK scroll event for a diagonal scroll. Previously, the two
wl_pointer.axis events had to be handled separately.

The wl_pointer.axis_discrete event sends mouse wheel clicks where
appropriate, and is translated into up/down/left/right scroll events.

https://bugzilla.gnome.org/show_bug.cgi?id=756729

10 years agoDrop a reference to regions
Matthias Clasen [Mon, 18 Jan 2016 19:31:37 +0000 (14:31 -0500)]
Drop a reference to regions

Regions don't work anymore, so don't recommend them in the docs.

10 years agoim context simple: Protect shared data structures
Matthias Clasen [Mon, 18 Jan 2016 18:54:20 +0000 (13:54 -0500)]
im context simple: Protect shared data structures

Since a41f02f9b1843e0f0085f801430e55f413a9bf9c, GtkIMContextSimple
uses threads to load X Compose files. It does that every time a new
im context object is initialized, so we can easily end up with multiple
threads accessing the shared global_tables list at the same time.

Use a lock to prevent that.

https://bugzilla.redhat.com/show_bug.cgi?id=1276432

10 years agocssnode: Don't leak the style cache on destruction
Benjamin Otte [Mon, 18 Jan 2016 17:05:53 +0000 (18:05 +0100)]
cssnode: Don't leak the style cache on destruction

10 years agogdkdisplay-x11: Plug memory leak
Timm Bäder [Mon, 18 Jan 2016 16:22:09 +0000 (17:22 +0100)]
gdkdisplay-x11: Plug memory leak

10 years agotext view: Update selection node visibility
Matthias Clasen [Mon, 18 Jan 2016 16:05:53 +0000 (11:05 -0500)]
text view: Update selection node visibility

Make the node invisible if we don't have a selection.

10 years agoentry: Expand the css node docs
Matthias Clasen [Mon, 18 Jan 2016 15:52:26 +0000 (10:52 -0500)]
entry: Expand the css node docs

Mention the context menu.

10 years agotext view: Expand CSS node docs
Matthias Clasen [Mon, 18 Jan 2016 15:51:54 +0000 (10:51 -0500)]
text view: Expand CSS node docs

Mention the selection node, and the context menu.

10 years agoForgotten file
Matthias Clasen [Mon, 18 Jan 2016 14:06:12 +0000 (09:06 -0500)]
Forgotten file

10 years agonotebook: Don't crash when dnd'ing tabs out
Benjamin Otte [Mon, 18 Jan 2016 14:01:49 +0000 (15:01 +0100)]
notebook: Don't crash when dnd'ing tabs out

https://bugzilla.gnome.org/show_bug.cgi?id=760754

10 years agoaccellabel: Remove unused variable
Benjamin Otte [Mon, 18 Jan 2016 14:01:38 +0000 (15:01 +0100)]
accellabel: Remove unused variable

10 years agogdk: Clarify docs about scale
Matthias Clasen [Mon, 18 Jan 2016 13:54:35 +0000 (08:54 -0500)]
gdk: Clarify docs about scale

Explicitly state where we return application pixels as opposed
to device pixels.

10 years agoTrivial typo fix
Matthias Clasen [Mon, 18 Jan 2016 13:36:53 +0000 (08:36 -0500)]
Trivial typo fix

10 years agoAdd more CSS node tests for notebooks
Matthias Clasen [Mon, 18 Jan 2016 12:39:56 +0000 (07:39 -0500)]
Add more CSS node tests for notebooks

10 years agoentry: Deprecate shadow-type
Timm Bäder [Mon, 18 Jan 2016 11:46:18 +0000 (12:46 +0100)]
entry: Deprecate shadow-type

Things like that should be handled using css. Also, the property value
is unused inside GtkEntry.

10 years agoW32: Detect ticks wraparound
Руслан Ижбулатов [Wed, 22 Apr 2015 19:21:53 +0000 (19:21 +0000)]
W32: Detect ticks wraparound

https://bugzilla.gnome.org/show_bug.cgi?id=748327

10 years agoAdd CSS node tests for checkbutton rtl flipping
Matthias Clasen [Mon, 18 Jan 2016 05:29:29 +0000 (00:29 -0500)]
Add CSS node tests for checkbutton rtl flipping

10 years agoAdd css node tests for expander rtl flipping
Matthias Clasen [Mon, 18 Jan 2016 05:24:53 +0000 (00:24 -0500)]
Add css node tests for expander rtl flipping

10 years agoexpander: Flip the alignment of the vertical box
Matthias Clasen [Mon, 18 Jan 2016 05:19:31 +0000 (00:19 -0500)]
expander: Flip the alignment of the vertical box

To ensure that the title moves to the other side as expected
in RTL, use GTK_ALIGN_START/END instead of GTK_ALIGN_FILL
when packing the title gadget into the vertical box, and
flip the alignment when the text direction changes.

10 years agoexpander: Handle rtl changes again
Matthias Clasen [Mon, 18 Jan 2016 05:11:54 +0000 (00:11 -0500)]
expander: Handle rtl changes again

Now that the box gadget has api for it, use it here to
change the order of the gadgets for right-to-left.

10 years agocheckbutton: Handle rtl changes again
Matthias Clasen [Mon, 18 Jan 2016 05:04:23 +0000 (00:04 -0500)]
checkbutton: Handle rtl changes again

Now that the box gadget has api for it, use it here to
change the order of the gadgets for right-to-left.

10 years agobox gadget: Add a function to reverse children
Matthias Clasen [Mon, 18 Jan 2016 05:03:39 +0000 (00:03 -0500)]
box gadget: Add a function to reverse children

This can be used to handle text direction changes.

10 years agoreftests: Fix up for easy CSS changes
Benjamin Otte [Mon, 18 Jan 2016 04:04:12 +0000 (05:04 +0100)]
reftests: Fix up for easy CSS changes

This is mostly search and replace ala
  GtkButton => button
  GtkWindow => window
  .button => button
or removing style properties that aren't used anymore like
  -GtkButton-default-border: 0

10 years agoreftests: Remove test
Benjamin Otte [Mon, 18 Jan 2016 01:32:19 +0000 (02:32 +0100)]
reftests: Remove test

We no longer match subtypes, so remove the test for it.

10 years agocheckbutton: Use a box gadget
Matthias Clasen [Mon, 18 Jan 2016 02:16:33 +0000 (21:16 -0500)]
checkbutton: Use a box gadget

Now that builtin icons have a baseline, we can just use
a box gadget with baseline alignment for the indicator
and the label.

10 years agobuiltin icon: set a baseline
Matthias Clasen [Mon, 18 Jan 2016 02:02:18 +0000 (21:02 -0500)]
builtin icon: set a baseline

Most uses of builtin icons (check and radio buttons,
expanders, etc) are placed next to labels, so they should
be properly positioned wrt to the baseline. Lacking anything
better, give the builtin icons a baseline that places the
center of the icon at the strikethrough position.

10 years agobox gadget: Deal with optional arguments
Matthias Clasen [Mon, 18 Jan 2016 00:48:40 +0000 (19:48 -0500)]
box gadget: Deal with optional arguments

The baseline arguments to the preferred size callback can
be NULL. Don't crash if they are.

10 years agoTrivial formatting fix
Matthias Clasen [Sun, 17 Jan 2016 20:35:14 +0000 (15:35 -0500)]
Trivial formatting fix

10 years agoDocument restrictions on gtk_style_context_get
Matthias Clasen [Sun, 17 Jan 2016 20:26:14 +0000 (15:26 -0500)]
Document restrictions on gtk_style_context_get

This makes it official that passing a different state
is not generally supported in the getters for CSS properties.

10 years agonotebook: show tabs when asked to
Matthias Clasen [Sun, 17 Jan 2016 19:35:58 +0000 (14:35 -0500)]
notebook: show tabs when asked to

gtk_notebook_set_show_tabs must make the header gadget
visible when show_tabs is TRUE, not the other way around.

https://bugzilla.gnome.org/show_bug.cgi?id=760596

10 years agoaccel label: Fix RTL handling
Matthias Clasen [Sun, 17 Jan 2016 19:08:22 +0000 (14:08 -0500)]
accel label: Fix RTL handling

The 'mad hack' that GtkAccelLabel used to affect the GtkLabel
draw function broke with the introduction of gadgets, since
the positioning is no longer relative to the widgets' allocation
at the time of the call, but rather to the gadgets allocation.

Instead of coming up with an even madder hack to keep this
working, give the GtkLabel draw function knowledge about accel
labels.

https://bugzilla.gnome.org/show_bug.cgi?id=760663

10 years agoinspector: Make cursor-size combo wider
Matthias Clasen [Sun, 17 Jan 2016 18:23:49 +0000 (13:23 -0500)]
inspector: Make cursor-size combo wider

Cursor sizes typically have 2 digits, lets not clip them.

10 years agoExpand window style class documentation a bit
Matthias Clasen [Sun, 17 Jan 2016 17:13:59 +0000 (12:13 -0500)]
Expand window style class documentation a bit

10 years agoAdwaita: Keep entry progress visible
Matthias Clasen [Sat, 16 Jan 2016 18:24:56 +0000 (13:24 -0500)]
Adwaita: Keep entry progress visible

When the entry is focused, make the progress one pixel wider
so it doesn't get swallowed by the focus outline.

10 years agostylechange: Do the right thing when old and new style are equal
Benjamin Otte [Sat, 16 Jan 2016 22:15:11 +0000 (23:15 +0100)]
stylechange: Do the right thing when old and new style are equal

We don't need to compare all their CSS values to figure out that nothing
changed. We know that.

10 years agocssnode: Redo GTK_DEBUG=no-css-cache
Benjamin Otte [Sat, 16 Jan 2016 03:55:58 +0000 (04:55 +0100)]
cssnode: Redo GTK_DEBUG=no-css-cache

Previously this setting would just invalidate the whole CSS tree and
thereby hopefully avoid all cache usage.

Now, we actually don't cause extra invalidations anymore, but instead
avoid ever inserting anything into the cache when this setting is set.

10 years agocssnode: Implement the style cache
Benjamin Otte [Sat, 16 Jan 2016 03:48:58 +0000 (04:48 +0100)]
cssnode: Implement the style cache

This essentially copies the previous cache implementation. With one
caveat: It is now attached to and maintained by the CssNode, not by the
CssStyle.

And this is important because styles may be reused in incompatible
situations which would cause cache collisions and lead to broken CSS in
weird situations.

10 years agocssnode: Split out the style cache
Benjamin Otte [Fri, 15 Jan 2016 22:27:51 +0000 (23:27 +0100)]
cssnode: Split out the style cache

For now, the split out style cache doesn't cache anything. This is
mostly to make sure that bisections of wrong caching behavior will
bisect down to the commit that actually adds caching.

10 years agoAdwaita: stop axing toolbar separators
Lapo Calamandrei [Sat, 16 Jan 2016 03:16:55 +0000 (04:16 +0100)]
Adwaita: stop axing toolbar separators

10 years agoAdwaita: style textview derived widgets
Lapo Calamandrei [Sat, 16 Jan 2016 03:15:30 +0000 (04:15 +0100)]
Adwaita: style textview derived widgets

10 years agocolor scale: Improve themability
Matthias Clasen [Sat, 16 Jan 2016 01:08:57 +0000 (20:08 -0500)]
color scale: Improve themability

Add the .color class, so themes can style scale.color.
Clip the trough rendering to the content path, so that
themes can set rounded corners.

10 years agotreeview: Use foreground color to draw dnd marker
Matthias Clasen [Sat, 16 Jan 2016 00:39:12 +0000 (19:39 -0500)]
treeview: Use foreground color to draw dnd marker

This is still not perfect, but makes the dnd marker better visible
in HighContrastInverse.

10 years agoframe: Don't overlap label and child
Matthias Clasen [Sat, 16 Jan 2016 00:11:03 +0000 (19:11 -0500)]
frame: Don't overlap label and child

We didn't do this previously, so don't start now.

https://bugzilla.gnome.org/show_bug.cgi?id=760528

10 years agoAdwaita: combo style cleanup and fixes
Lapo Calamandrei [Fri, 15 Jan 2016 23:55:59 +0000 (00:55 +0100)]
Adwaita: combo style cleanup and fixes

fixes https://bugzilla.gnome.org/show_bug.cgi?id=760524

10 years agocombo: Add .linked class when appropriate
Matthias Clasen [Fri, 15 Jan 2016 22:55:44 +0000 (17:55 -0500)]
combo: Add .linked class when appropriate

Add the .linked style class to combo boxes which have
an entry, since that is what they are.

10 years agocombobox: Document the popup window CSS node
Matthias Clasen [Fri, 15 Jan 2016 22:47:08 +0000 (17:47 -0500)]
combobox: Document the popup window CSS node

10 years agoapplication: Protect against double shutdown
Matthias Clasen [Fri, 15 Jan 2016 22:36:13 +0000 (17:36 -0500)]
application: Protect against double shutdown

It is not something that can happen normally.
But if it does, we shouldn't crash.

https://bugzilla.gnome.org/show_bug.cgi?id=760680

10 years agomir: add default GdkSeat for the default GdkDisplay
William Hua [Fri, 15 Jan 2016 19:09:33 +0000 (14:09 -0500)]
mir: add default GdkSeat for the default GdkDisplay

10 years agowidget: remove queue_resize in set_sensitive
Matt Watson [Tue, 12 Jan 2016 02:40:53 +0000 (18:40 -0800)]
widget: remove queue_resize in set_sensitive

Calling gtk_widget_propagate_state is enough to queue a resize if
needed

See da7a4089fe82981d1412aaa295e76d47a81ad6df

10 years agowayland: Fix an endless loop
Rui Matos [Fri, 15 Jan 2016 17:35:25 +0000 (18:35 +0100)]
wayland: Fix an endless loop

10 years agoAdwaita: remove messagedialog label squashing hack
Lapo Calamandrei [Fri, 15 Jan 2016 17:33:38 +0000 (18:33 +0100)]
Adwaita: remove messagedialog label squashing hack

since Matthias fixed this properly.

10 years agomessage dialog: Prevent empty title from being shown
Matthias Clasen [Fri, 15 Jan 2016 16:58:51 +0000 (11:58 -0500)]
message dialog: Prevent empty title from being shown

We don't want to grow the titlebar by showing an empty label.

10 years agoAdwaita: some dialog love
Lapo Calamandrei [Fri, 15 Jan 2016 16:56:49 +0000 (17:56 +0100)]
Adwaita: some dialog love

addresses https://bugzilla.gnome.org/show_bug.cgi?id=760525

10 years agoexpander: Destroy gadgets after child widgets
Matthias Clasen [Fri, 15 Jan 2016 15:29:20 +0000 (10:29 -0500)]
expander: Destroy gadgets after child widgets

With child widgets now being sorted into box gadgets, bad things
happen if those gadgets disappear prematurely.

10 years agonotebook: Destroy gadgets after chaining up
Benjamin Otte [Fri, 15 Jan 2016 11:58:14 +0000 (12:58 +0100)]
notebook: Destroy gadgets after chaining up

While chaining up, we might still call into the notebook code. And that
code expects the gadgets to be there.

https://bugzilla.gnome.org/show_bug.cgi?id=760640